
https://leetcode.cn/problems/validate-stack-sequences/description/
//class Solution {
//public:
//    bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
//
//        int n = popped.size();
//        stack<int> st;
//        int j = 0;
//
//        for (auto x : pushed) {
//
//            st.push(x);
//            while (st.size() && popped[j] == st.top()) {
//                j++;
//                st.pop();
//            }
//        }
//        return j == n;
//    }
//};

https://leetcode.cn/problems/decode-string/submissions/488794253/
//class Solution {
//public:
//    string decodeString(string s) {
//        stack<int> st;
//        stack<string> ss;
//
//        ss.push("");
//        int i = 0, n = s.size();
//
//        while (i < n) {
//            if (s[i] >= '0' && s[i] <= '9') {
//                int tmp = 0;
//                while (i < n && s[i] >= '0' && s[i] <= '9') {
//                    tmp *= 10;
//                    tmp += (s[i] - '0');
//                    i++;
//                }
//                st.push(tmp);
//            }
//            else if (s[i] == '[') {
//                string tmp;
//                i++;
//                while (i < n && s[i] >= 'a' && s[i] <= 'z') {
//                    tmp.push_back(s[i]);
//                    i++;
//                }
//                ss.push(tmp);
//            }
//            else if (s[i] == ']') {
//                string tmp = ss.top();
//                ss.pop();
//                int num = st.top();
//                st.pop();
//                while (num--) {
//                    ss.top() += tmp;
//                }
//                i++;
//            }
//            else
//            {
//                string tmp;
//                while (i < n && s[i] >= 'a' && s[i] <= 'z') {
//                    tmp.push_back(s[i]);
//                    i++;
//                }
//                ss.top() += tmp;
//            }
//        }
//        return ss.top();
//    }
//};